package com.itheima.list;

import java.util.LinkedList;

public class Test {

    public static void main(String[] args) {

        //ArrayList集合是基于数组实现的（适合查询较多，增删较少的情况）

        //LinkedList集合是基于双链表实现的，对首尾元素进行增删查改速度很快（适合增删较多，查询较少的情况）

        //用LinkedList做一个队列（先进先出）
        LinkedList<String> queue = new LinkedList<>();

        //入队
        queue.addLast("张三");
        queue.addLast("李四");
        queue.addLast("王五");
        queue.addLast("赵六");
        System.out.println(queue);

        //出队
        System.out.println(queue.removeFirst());
        System.out.println(queue.removeFirst());
        System.out.println(queue);

        System.out.println("------------------------------");

        //用LinkedList做一个栈（后进先出）
        LinkedList<String> stack = new LinkedList<>();

        //入栈
        stack.push("第一颗子弹");
        stack.push("第二颗子弹");
        stack.push("第三颗子弹");
        stack.push("第四颗子弹");
        System.out.println(stack);

        //出栈
        System.out.println(stack.pop());
        System.out.println(stack.pop());
        System.out.println(stack);
    }
}
